home *** CD-ROM | disk | FTP | other *** search
- property pCloseBoxObj, pHelpButtonObj, pContext, pFindButtonObj, pClearAllButtonObj, pPreviousButtonObj, pNextButtonObj, pMenuBankObj, pRolloverTextObj, pLetterSelectionBox, pScrollbarObj, pkListSprite, pHeadingLineNumList, pTitleCurrentHeading
-
- on getCloseBoxObj me
- return pCloseBoxObj
- end
-
- on getFindButtonObj me
- return pFindButtonObj
- end
-
- on getclearAllButtonObj me
- return pClearAllButtonObj
- end
-
- on getHelpButtonObj me
- return pHelpButtonObj
- end
-
- on getNextButtonObj me
- return pNextButtonObj
- end
-
- on getPreviousButtonObj me
- return pPreviousButtonObj
- end
-
- on getMenuBankObj me
- return pMenuBankObj
- end
-
- on getRolloverTextObj me
- return pRolloverTextObj
- end
-
- on getContext me
- return pContext
- end
-
- on getScrollbarObj me
- return pScrollbarObj
- end
-
- on new me
- pCloseBoxObj = new(script("search close box button"), "close box", "Global", 2, the loc of sprite 2)
- Inscope(pCloseBoxObj)
- pHelpButtonObj = new(script("Help Button"), "search help", "Internal", 32, the loc of sprite 32)
- Inscope(pHelpButtonObj)
- pFindButtonObj = new(script("Find Button"), "Find Button", "Internal", 34, the loc of sprite 34)
- pClearAllButtonObj = new(script("ClearAll Button"), "ClearAll Button", "Internal", 35, the loc of sprite 35)
- rolloverList = []
- addAt(rolloverList, 2, 16)
- addAt(rolloverList, 32, 19)
- pRolloverTextObj = new(script("rollover text"), rolloverList)
- pMenuBankObj = new(script("menu bank class"))
- pLetterSelectionBox = 6
- pkListSprite = 4
- set the cursor of sprite 2 to [member("point hand"), member("point hand mask")]
- return me
- end
-
- on dispose me
- end
-
- on enterSearchContext me
- pContext = #search
- Inscope(pFindButtonObj)
- disable(pFindButtonObj)
- Inscope(pClearAllButtonObj)
- disable(pClearAllButtonObj)
- enable(pHelpButtonObj)
- Inscope(pMenuBankObj)
- end
-
- on exitSearchContext me
- outScope(pFindButtonObj)
- outScope(pClearAllButtonObj)
- disable(pHelpButtonObj)
- outScope(pMenuBankObj)
- end
-
- on enterTitlesContext me
- pContext = #titles
- pTitleCurrentHeading = 1
- xMember = member("categories titles list", "Update.cst")
- DisplayTextField(me, xMember, rect(5, 59, 363, 226))
- pPreviousButtonObj = new(script("Previous Button"), "previous section", "Internal", 6, the loc of sprite 6)
- Inscope(pPreviousButtonObj)
- pNextButtonObj = new(script("Next Button"), "next section", "Internal", 7, the loc of sprite 7)
- Inscope(pNextButtonObj)
- FindHeadingLines(me)
- setupScrollbar(me)
- end
-
- on exitTitlesContext me
- puppetSprite(4, 0)
- outScope(pPreviousButtonObj)
- condemn(pPreviousButtonObj)
- pPreviousButtonObj = 0
- outScope(pNextButtonObj)
- condemn(pNextButtonObj)
- pNextButtonObj = 0
- dismantleScrollbar(me)
- end
-
- on enterKeywordsContext me
- pContext = #keywords
- xMember = member("keywords list", "Update.cst")
- DisplayTextField(me, xMember, rect(5, 59, 365, 240))
- puppetSprite(pLetterSelectionBox, 1)
- bedSprite = 9
- TextSprite = 4
- hiliteSprite = 3
- pScrollbarObj = new(script("scroll to end subclass"), bedSprite, TextSprite, hiliteSprite)
- Inscope(pScrollbarObj)
- end
-
- on exitKeywordsContext me
- puppetSprite(pLetterSelectionBox, 0)
- puppetSprite(4, 0)
- dismantleScrollbar(me)
- end
-
- on setupScrollbar me
- bedSprite = 9
- TextSprite = 4
- hiliteSprite = 3
- pScrollbarObj = new(script("text scroll bar"), bedSprite, TextSprite, hiliteSprite)
- Inscope(pScrollbarObj)
- end
-
- on dismantleScrollbar me
- outScope(pScrollbarObj)
- pScrollbarObj = 0
- end
-
- on FindHeadingLines me
- xMember = member("categories titles list")
- TitlesList = member(xMember).text
- lineHeight = the textHeight of member xMember
- HeadingText = member("heading list", "Update.cst").text
- MaxCount = the number of lines in HeadingText
- pHeadingLineNumList = []
- repeat with rc = 1 to MaxCount
- CharNum = offset(line rc of HeadingText, TitlesList)
- if CharNum > 0 then
- charLoc = charPosToLoc(member(xMember), CharNum)
- lineNumber = locVToLinePos(member(xMember), charLoc.locV)
- if the machineType = 256 then
- LineNumberFloat = lineNumber + (lineNumber * 2.0 / (lineHeight + 0.0))
- LineNumberInt = lineNumber + (lineNumber * 2 / lineHeight)
- if (LineNumberFloat - LineNumberInt) > 0 then
- lineNumber = LineNumberInt + 1
- else
- lineNumber = LineNumberInt
- end if
- SearchString = line rc of HeadingText
- lineNumber = WidenLineSearch(the text of field xMember, SearchString, lineNumber)
- end if
- append(pHeadingLineNumList, lineNumber)
- end if
- end repeat
- end
-
- on GoTitleSection me, direction
- pTitleCurrentHeading = pTitleCurrentHeading + direction
- if pTitleCurrentHeading < 1 then
- pTitleCurrentHeading = count(pHeadingLineNumList)
- end if
- if pTitleCurrentHeading > count(pHeadingLineNumList) then
- pTitleCurrentHeading = 1
- end if
- LineNum = getAt(pHeadingLineNumList, pTitleCurrentHeading)
- setThumb(pScrollbarObj, LineNum)
- end
-
- on DisplayTextField me, xMember, xRect
- kSprite = 4
- puppetSprite(kSprite, 1)
- if the machineType = 256 then
- xRect = xRect + rect(0, -1, 0, 0)
- end if
- set the textHeight of member xMember to 14
- member(xMember).scrollTop = 0
- member(xMember).rect = xRect
- set the member of sprite kSprite to xMember
- set the loc of sprite kSprite to point(xRect.left, xRect.top)
- end
-